#ifndef HGT_INTERFACE_RENDER_CONTEXT_H
#define HGT_INTERFACE_RENDER_CONTEXT_H 1

#include <osg/Group>
#include <osgEarth/MapNode>
#include <osgViewer/View>
#include <osg/GraphicsContext>

class IRenderContext : public osg::Referenced
{
public: 		
	virtual osgViewer::View* GetView() = 0;

	virtual osg::Group* GetRoot() = 0;

	virtual osgEarth::MapNode* GetMapNode() = 0;

	virtual void Frame() = 0;

	virtual osg::GraphicsContext::Traits* CreateTraits( osg::Referenced* pInheritedWindowData, int nX, int nY, int nW, int nH ) = 0;

	virtual bool SetGraphicContext(osg::GraphicsContext* pContext) = 0;
};

#endif // HGT_INTERFACE_RENDER_CONTEXT_H

